#ifndef MU_ERROR_H
#define MU_ERROR_H

#include <exception>
#include <string>
#include <utility>

class SyntaxError : std::exception {
public:
  SyntaxError(std::string msg, std::size_t pos) : msg(std::move(msg)), pos(pos) {}

  const char *what() const noexcept override { return msg.c_str(); }

private:
  std::string msg;
  std::size_t pos;
};

#endif //MU_ERROR_H
